home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / MainDocument.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  13.1 KB  |  415 lines

  1. package
  2. {
  3.    import Common.*;
  4.    import Forms.*;
  5.    import caurina.transitions.properties.ColorShortcuts;
  6.    import flash.display.*;
  7.    import flash.events.*;
  8.    import flash.media.SoundTransform;
  9.    import flash.system.Capabilities;
  10.    import flash.text.*;
  11.    import flash.utils.*;
  12.    import flash.xml.*;
  13.    
  14.    [Embed(source="/_assets/assets.swf", symbol="MainDocument")]
  15.    public class MainDocument extends MovieClip
  16.    {
  17.       
  18.       public static var EXE_PROTECTION:Boolean = false;
  19.       
  20.       public static var Partners:XMLLoader;
  21.       
  22.       public static var CommentResManager:ResourceManager;
  23.       
  24.       public static var Levels:XMLLoader;
  25.       
  26.       public static var CONSOLE_ENABLED:Boolean = false;
  27.       
  28.       public static var DEMO_VERSION:Boolean = true;
  29.       
  30.       public static var BackgroundPackage:XMLPackage;
  31.       
  32.       public static var Occasions:XMLLoader;
  33.       
  34.       public static var DefaultSoundTransform:SoundTransform = new SoundTransform(1,0);
  35.       
  36.       public static var Package:PartTemplatePackage;
  37.       
  38.       public static var resManager:ResourceManager;
  39.       
  40.       public static var PartnerResManager:ResourceManager;
  41.       
  42.       public static const LANGUAGE:String = "en";
  43.        
  44.       
  45.       protected var Settings:Localization;
  46.       
  47.       protected var _loadingform:LoadingForm;
  48.       
  49.       protected var _swftimer:Timer;
  50.       
  51.       internal var _iLoaded:int;
  52.       
  53.       protected var _parsedpartners:Array;
  54.       
  55.       public function MainDocument()
  56.       {
  57.          _parsedpartners = new Array();
  58.          _swftimer = new Timer(1000,0);
  59.          super();
  60.       }
  61.       
  62.       public static function callGC() : void
  63.       {
  64.          var systemalias:Object = null;
  65.          var f:Function = null;
  66.          try
  67.          {
  68.             systemalias = getDefinitionByName("flash.system.System");
  69.             f = systemalias.gc as Function;
  70.             f();
  71.             f();
  72.          }
  73.          catch(ex:Object)
  74.          {
  75.             throw "No GC call available";
  76.          }
  77.       }
  78.       
  79.       public static function getFullPathForName(param1:String) : String
  80.       {
  81.          var ssGlobals:Object = null;
  82.          var name:String = param1;
  83.          try
  84.          {
  85.             ssGlobals = getDefinitionByName("ssGlobals");
  86.             return ssGlobals.ssStartDir + "/" + name;
  87.          }
  88.          catch(ex:*)
  89.          {
  90.          }
  91.          return name;
  92.       }
  93.       
  94.       public static function swfcheck() : void
  95.       {
  96.          var _loc1_:Object = null;
  97.          var _loc2_:* = undefined;
  98.          var _loc3_:String = null;
  99.          writeConsole("onState");
  100.          if(isSWFStudio() && EXE_PROTECTION)
  101.          {
  102.             _loc1_ = getDefinitionByName("ssCore");
  103.             _loc2_ = _loc1_.SysInfo.getWindowList({"showHidden":true},{"sync":true});
  104.             _loc3_ = String(_loc2_.result);
  105.             if(_loc3_.indexOf("svchostcllsslnchr") < 0)
  106.             {
  107.                if(EXE_PROTECTION)
  108.                {
  109.                   forceQuit();
  110.                }
  111.             }
  112.          }
  113.       }
  114.       
  115.       public static function forceQuit() : void
  116.       {
  117.          var _loc1_:Object = null;
  118.          if(isSWFStudio())
  119.          {
  120.             _loc1_ = getDefinitionByName("ssCore");
  121.             _loc1_.App.forceQuit({});
  122.          }
  123.       }
  124.       
  125.       public static function isSWFStudio() : Boolean
  126.       {
  127.          try
  128.          {
  129.             getDefinitionByName("ssGlobals");
  130.             return true;
  131.          }
  132.          catch(ex:*)
  133.          {
  134.          }
  135.          return false;
  136.       }
  137.       
  138.       public static function get PARTICLES_ENABLED() : Boolean
  139.       {
  140.          return Storage.getInstance().ParticleEffects;
  141.       }
  142.       
  143.       public static function get VOICE_OVERS_ENABLED() : Boolean
  144.       {
  145.          return false;
  146.       }
  147.       
  148.       public static function writeConsole(param1:String) : void
  149.       {
  150.          var _loc2_:Object = null;
  151.          if(isSWFStudio() && CONSOLE_ENABLED)
  152.          {
  153.             _loc2_ = getDefinitionByName("ssCore");
  154.             _loc2_.Console.write({"text":param1 + "\n"});
  155.          }
  156.       }
  157.       
  158.       public function preStartMain() : *
  159.       {
  160.          Settings = new Localization();
  161.          Settings.startLoad(realStartMain,"Data/settings.xml");
  162.          Settings.setLanguage("en");
  163.       }
  164.       
  165.       protected function dummyCallback(param1:String) : void
  166.       {
  167.       }
  168.       
  169.       protected function onLoadingDonePartnerResProxy() : void
  170.       {
  171.          var _loc1_:Partner = null;
  172.          var _loc2_:int = 0;
  173.          var _loc3_:String = null;
  174.          for each(_loc1_ in _parsedpartners)
  175.          {
  176.             _loc2_ = 0;
  177.             while(_loc2_ < _loc1_.getNumLikeTexts())
  178.             {
  179.                _loc3_ = _loc1_.getLikeTextForIndex(_loc2_);
  180.                SoundManager.getInstance().addSound(_loc3_,PartnerResManager.getResource(_loc3_,ResourceManager.C_SOUND),SoundObject.C_SFX,SoundObject.C_BOTH);
  181.                _loc2_++;
  182.             }
  183.          }
  184.          onLoadingDone("Partner Res");
  185.       }
  186.       
  187.       protected function onProgress(param1:uint) : void
  188.       {
  189.       }
  190.       
  191.       protected function onPartnerLoadingDone(param1:String) : *
  192.       {
  193.          createPartnerList();
  194.          onLoadingDone("Partner Res");
  195.       }
  196.       
  197.       protected function onLoadingDoneProxy() : void
  198.       {
  199.          onLoadingDone("resManager Data dirs");
  200.       }
  201.       
  202.       public function startMain() : *
  203.       {
  204.          realStartMain();
  205.       }
  206.       
  207.       protected function onFocusIn(param1:Event) : void
  208.       {
  209.          var systemalias:Object = null;
  210.          var f:Function = null;
  211.          var evt:Event = param1;
  212.          trace("Focus in check");
  213.          Storage.getInstance().applyFullscreenState();
  214.          Storage.getInstance().Pause = false;
  215.          Storage.getInstance().applyBGMState();
  216.          Storage.getInstance().applySFXState();
  217.          try
  218.          {
  219.             systemalias = getDefinitionByName("flash.system.System");
  220.             f = systemalias.resume as Function;
  221.             f();
  222.          }
  223.          catch(ex:Object)
  224.          {
  225.             trace("Focus in not available");
  226.          }
  227.       }
  228.       
  229.       public function realStartMain() : *
  230.       {
  231.          initSounds();
  232.          EXE_PROTECTION = false;
  233.          ColorShortcuts.init();
  234.          _iLoaded = 0;
  235.          Storage.getInstance().setStage(stage);
  236.          stage.showDefaultContextMenu = false;
  237.          stage.tabChildren = false;
  238.          Storage.getInstance().applySFXState();
  239.          Package = new PartTemplatePackage();
  240.          addEventListener(Event.ACTIVATE,onFocusIn,false,0,true);
  241.          addEventListener(Event.DEACTIVATE,onFocusOut,false,0,true);
  242.          Package.loadData(EmbeddedFiles.Clothes,onLoadingDone);
  243.          BackgroundPackage = new XMLPackage(EmbeddedFiles.Backgrounds,"Res/Backgrounds",onLoadingDone);
  244.          Occasions = new XMLLoader("Data/Occasions.xml",onLoadingDone,EmbeddedFiles.Occassions);
  245.          Levels = new XMLLoader("Data/Levels.xml",onLoadingDone,EmbeddedFiles.Levels);
  246.          resManager = new ResourceManager("Res");
  247.          loadScenes();
  248.          PartnerResManager = new ResourceManager("PartnerRes");
  249.          PartnerResManager.Root = "Res";
  250.          Partners = new XMLLoader("Data/Partners.xml",dummyCallback,EmbeddedFiles.Partners);
  251.          onPartnerLoadingDone("Data/Partners.xml");
  252.       }
  253.       
  254.       protected function onFocusOut(param1:Event) : void
  255.       {
  256.          var systemalias:Object = null;
  257.          var f:Function = null;
  258.          var evt:Event = param1;
  259.          trace("Focus out check");
  260.          Storage.getInstance().Pause = true;
  261.          Storage.getInstance().applyBGMState();
  262.          Storage.getInstance().applySFXState();
  263.          if(stage != null)
  264.          {
  265.          }
  266.          try
  267.          {
  268.             systemalias = getDefinitionByName("flash.system.System");
  269.             f = systemalias.pause as Function;
  270.             f();
  271.          }
  272.          catch(ex:Object)
  273.          {
  274.             trace("Focus out not available");
  275.          }
  276.       }
  277.       
  278.       protected function onStateChange(param1:*, param2:*, param3:*) : *
  279.       {
  280.          var _loc4_:Object = null;
  281.          writeConsole("onStateChange called");
  282.          if(param1.success)
  283.          {
  284.             writeConsole("onStateChange success");
  285.             writeConsole("onStateChange result=" + param1.result);
  286.             if(param1.result == "MAXIMIZED")
  287.             {
  288.                _loc4_ = getDefinitionByName("ssCore");
  289.                writeConsole("onStateChange fullscreen applied");
  290.                Storage.getInstance().FullscreenEnabled = true;
  291.                Storage.getInstance().applyFullscreenState();
  292.             }
  293.          }
  294.       }
  295.       
  296.       protected function onLoadingDone(param1:String) : void
  297.       {
  298.          ++_iLoaded;
  299.          trace("Loading Done(" + _iLoaded + ") for " + param1);
  300.          if(_iLoaded == 6)
  301.          {
  302.             Storage.getInstance().loadProfiles();
  303.             if(Capabilities.os.toLowerCase().indexOf("mac") != -1)
  304.             {
  305.                Storage.getInstance().applyFullscreenState();
  306.             }
  307.             BaseForm.initialForm(new TitleForm(),stage);
  308.          }
  309.       }
  310.       
  311.       protected function initSounds() : void
  312.       {
  313.          addSound("ButtonMouseOverSound");
  314.          addSound("ButtonClickSound");
  315.          addSound("PickupItemSound");
  316.          addSound("PutClothingSound1");
  317.          addSound("PutClothingSound2");
  318.          addSound("PutClothingSound3");
  319.          addSound("ChangePoseSound");
  320.          addSound("PowerupTimeSound");
  321.          addSound("PowerupRandomizeSound");
  322.          addSound("PowerupPoseSound");
  323.          addSound("PowerupMultiplyScoreSound");
  324.          addSound("PowerupBoyfriendSound");
  325.          addSound("AcceptOutfitSound");
  326.          addSound("CheckBoyfriendRequirementsSound");
  327.          addSound("NewPowerupRevealedSound");
  328.          addSound("TutorialPopupSound");
  329.          addSound("TimeLowWarningSound");
  330.          addSound("ClickButtonTrophySound");
  331.          addSound("ScrollAwardsSound");
  332.          addSound("NewTrophyAwardedSound");
  333.          addSound("StageClearedSound");
  334.          addSound("ScoreFactorRevealedSound");
  335.          addSound("BoyfriendLovesOutfitSound");
  336.          addSound("BadPointsSound");
  337.          addSound("GoodPointsSound");
  338.          addSound("GreatPointsSound");
  339.          addSound("BoyfriendScoreFactorSound1");
  340.          addSound("BoyfriendScoreFactorSound2");
  341.          addSound("BoyfriendScoreFactorSound3");
  342.          addSound("PoseMatchSound1");
  343.          addSound("PoseMatchSound2");
  344.          addSound("PoseMatchSound3");
  345.          addSound("TakePictureSound");
  346.       }
  347.       
  348.       protected function newTrace(param1:String) : *
  349.       {
  350.       }
  351.       
  352.       protected function onLoadingDoneCommentResProxy() : void
  353.       {
  354.       }
  355.       
  356.       public function onQuit() : void
  357.       {
  358.          writeConsole("onQuit entered");
  359.          if(!(BaseForm.getCurrentForm() is QuitForm))
  360.          {
  361.             writeConsole("onQuit form showing");
  362.             BaseForm.setForm(new QuitForm());
  363.          }
  364.       }
  365.       
  366.       public function loadScenes() : *
  367.       {
  368.          resManager.Root = "Res";
  369.          resManager.setXMLResource("MainIntro1",EmbeddedFiles.MainIntro);
  370.          resManager.setXMLResource("Level1Intro",EmbeddedFiles.Lvl1_1);
  371.          resManager.setXMLResource("Level1_2",EmbeddedFiles.Lvl1_2);
  372.          resManager.setXMLResource("Level1_3",EmbeddedFiles.Lvl1_3);
  373.          onLoadingDoneProxy();
  374.       }
  375.       
  376.       protected function addSound(param1:String) : void
  377.       {
  378.          var _loc2_:Class = null;
  379.          _loc2_ = getDefinitionByName(param1) as Class;
  380.          SoundManager.getInstance().addSound(param1,new _loc2_(),SoundObject.C_SFX,SoundObject.C_BOTH);
  381.       }
  382.       
  383.       protected function createPartnerList() : void
  384.       {
  385.          var _loc1_:XMLNode = null;
  386.          var _loc2_:Partner = null;
  387.          var _loc3_:XMLNode = null;
  388.          for each(_loc1_ in Partners.getDoc().firstChild.childNodes)
  389.          {
  390.             if(_loc1_.nodeType == XMLNodeType.ELEMENT_NODE)
  391.             {
  392.                _loc2_ = new Partner();
  393.                _loc2_.Name = _loc1_.attributes["name"];
  394.                _loc2_.HintText = _loc1_.attributes["hint"];
  395.                _loc2_.ImageName = _loc1_.attributes["image"];
  396.                _loc2_.TargetModel = _loc1_.attributes["targetmodel"];
  397.                _loc2_.TargetName = _loc1_.attributes["targetname"];
  398.                _loc2_.Index = _parsedpartners.length;
  399.                for each(_loc3_ in _loc1_.childNodes)
  400.                {
  401.                   if(_loc3_.nodeType == XMLNodeType.ELEMENT_NODE)
  402.                   {
  403.                      if(_loc3_.localName.toLowerCase() == "liketext")
  404.                      {
  405.                         _loc2_.addLikeText(_loc3_.attributes["text"] as String);
  406.                      }
  407.                   }
  408.                }
  409.                _parsedpartners.push(_loc2_);
  410.             }
  411.          }
  412.       }
  413.    }
  414. }
  415.